package com.zg.datapush.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 推送任务新增请求
 * @author zg
 */
@Data
@ApiModel(value = "推送任务新增请求", description = "推送任务新增请求")
public class DpPushTaskAddReq {
    
    @NotBlank(message = "任务名称不能为空")
    @ApiModelProperty(value = "任务名称", required = true)
    private String taskName;
    
    @NotBlank(message = "源数据源编码不能为空")
    @ApiModelProperty(value = "源数据源编码", required = true)
    private String sourceDatasourceCode;
    
    @NotBlank(message = "源表名不能为空")
    @ApiModelProperty(value = "源表名", required = true)
    private String sourceTableName;
    
    @NotBlank(message = "目标类型不能为空")
    @ApiModelProperty(value = "目标类型", required = true)
    private String targetType;
    
    @ApiModelProperty(value = "目标数据源编码")
    private String targetDatasourceCode;
    
    @ApiModelProperty(value = "目标表名")
    private String targetTableName;
    
    @ApiModelProperty(value = "目标系统名称")
    private String targetSystemName;
    
    @NotBlank(message = "推送模式不能为空")
    @ApiModelProperty(value = "推送模式", required = true)
    private String pushMode;
    
    @ApiModelProperty(value = "增量字段")
    private String incrementField;
    
    @NotBlank(message = "调度类型不能为空")
    @ApiModelProperty(value = "调度类型", required = true)
    private String scheduleType;
    
    @ApiModelProperty(value = "cron表达式")
    private String cronExpression;
    
    @ApiModelProperty(value = "任务状态")
    private Integer status = 1;
}
